a{
    color: $rp-black;
    &:hover, &:focus{
        color: $rp-red;
    }
}
*:focus{
    outline: none;
}
ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
html, body{
    @include transition(0.3s);
}
body{
    font-family: $rp-body-font;
    background-color: #FFF;
    color: $rp-black;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4{
    font-family: $rp-h-font;
    font-weight: 400 !important;
    text-transform: uppercase;
}
h5{
    font-family: $rp-body-font;
}
hgroup{
    h1{
        font-size: 3.75em;
        color: #FFF;
        line-height: 1;
        margin: 0;
        font-weight: bold;
    }
    h2{
        font-size: 2.625em;
        color: #FFF;
        margin-bottom: 15px;
    }
    h5{
        font-size: 1.125em;
        color: #FFF;
        font-style: italic;
        font-weight: 400;
        margin: 15px 0 0 0;
    }
}
.main-content{
    padding-top: 60px;
    position: relative;
    @include transition(0.3s);
}
.center{
    @include verticalAlign();
}
.rp-sprite{
    display: block;
    background-image: url('../img/rp-sprite.png');
    background-image: url('../img/rp-sprite.svg');
    background-size: 660px 209px;
    background-repeat: no-repeat;
    margin: 0 auto;
    text-indent: -9999px;
}
.padding-bottom-50{
    padding-bottom: 50px;
}

/* NAVIGATION MENU MOBILE */
.top-nav{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    background-color: rgba(255,255,255, 0.95);
    border-bottom: 1px solid #CCC;
    height: 60px;
    @include transition(0.3s);
    
    .brand-logo{
        display: block;
        margin: 0 auto;
        padding: 5px 0;
        width: 60px;
        .rp-sprite{
            height: 50px;
            width: 45px;
                background-position: -168px -5px;
            }
            &:hover .rp-sprite{ background-position: -228px -5px; }
    }
    .off-canvas{
        position: fixed;
        top: 0;
        bottom: 0;
        left: -250px;
        width: 250px;
        background-color: $rp-red;
        @include transition(0.3s);
    }
    .main-menu{
        font-family: $rp-h-font;
        li{
            border-bottom: 1px solid $rp-red-dark;
            vertical-align: top;
            a{
                display: block;
                height: 50px;
                line-height: 50px;
                font-size: 1.25em;
                text-align: right;
                padding: 0 20px;
                color: #FFF;
                @include transition(0.2s);
                &:hover, &:focus{
                    color: $rp-red-dark;
                }
            }
            &.brand-logo-desktop{
                display: none;
            }
        }
    }
    .social-menu{
        position: absolute;
        bottom: 5px;
        left: 0;
        right: 0;
        text-align: center;
        li{
            display: inline-block;
            
            a{
                display: block;
                width: 50px;
                height: 50px;
                line-height: 50px;
                text-align: center;
                color: $rp-red-dark;
                font-size: 1.5em;
                @include transition(0.2s);
                &:hover, &:focus{
                    color: #FFF;
                }
            }
        }
    }
    #toggle-menu{
        display: block;
        float: left;
        width: 50px;
        height: 60px;
        line-height: 60px;
        text-align: center;
        font-size: 1.3125em;
    }
}

.off-canvas-on{
    overflow-x: hidden;
    .main-content{
        margin-left: 250px;
        margin-right: -250px;
        .top-nav{
            margin-left: 250px;
            margin-right: -250px;
            .off-canvas{
                left: 0;
                @include boxShadow(0px 0px 10px rgba(0,0,0,0.5));
            }
            #toggle-menu{
                color: $rp-red;
            }
        }
    }
}

/* SECCIONES */
section{
    text-align: center;
    padding: 60px 0;

    h2{
        font-size: 2.625em;
        margin: 0 0 10px 0;
    }
    h4{
        margin: 0 auto 10px;
        font-size: 1.125em;
        font-family: $rp-h-font;
    }
    p{
        font-size: 0.875em;
    }
    .sub-header{
        font-size: 1em;
        margin-bottom: 45px;
    }
    .circle{
        width: 120px;
        height: 120px;
        line-height: 120px;
        font-size: 1.875em;
        margin: 20px auto;
        font-family: $rp-h-font;
        background-color: $rp-red;
        @include borderRadius(60px);
    }
    &.red{
        color: #FFF;
        background-color: $rp-red;
        
        h2{
            color: #FFF;
        }
        h4{
            color: #FFF;
            margin-bottom: 20px;
        }
        .circle{
            background-color: $rp-red-dark;
        }
    }
}

/* SPONSORS */
.sponsors{
    height: 80px;
    background-color: #EEE;
    text-align: center;
    line-height: 80px;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    color: #999;
    img{
        height: 46px;
        margin-left: 30px;
        vertical-align: -17px;
    }
}

/* FOOTER */
footer{
    padding: 10px 0;
    .brand{
        font-family: $rp-h-font;
        font-size: 0.8125em;
        font-weight: 400;
        text-align: center;
        height: 50px;
        line-height: 50px;
    }
    .social-menu{
        text-align: center;
        height: 50px;
        li{
            display: inline-block;
            
            a{
                display: block;
                width: 40px;
                height: 50px;
                line-height: 50px;
                margin: 0;
                text-align: center;
                color: #CCC;
                font-size: 1.125em;
                @include transition(0.2s);
                &:hover, &:focus{
                    color: $rp-red;
                }
            }
        }
    }
    p{
        text-align: center;
        line-height: 50px;
        font-weight: 700;
        font-style: italic;
        margin: 0;
        font-size: 1.125em;
    }
}
#by-gt{
    width: 100%;
    font-size: 0.6875em;
    text-align: center;
    border-top: 1px solid #CCC;
    height: 50px;
    line-height: 50px;
    margin: 0;
}

/* BANNER MOBILE */
.banner-small{
    position: relative;
    height: 420px;
    background-image: url('../img/banner-small.png');
    background-size: cover;
    background-position: 50% 50%;
    .overlay{
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: rgba(0,0,0,0.6);
        text-align: center;
        padding: 0 20px;
   }
}

/* BANNER DESKTOP */
.banner-large{
    position: relative;
    display: none;
    min-height: 345px;
    
    .loader{
        display: none;
        text-align: center;
        img{
            @include verticalAlign();
        }
    }
    .over-img{
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        padding: 0 50px;
        text-align: center;

        a{
            display: block;
            height: 40px;
            line-height: 38px;
            padding: 0 10px;
            border: 1px solid #FFF;
            background-color: transparent;
            color: #FFF;
            width: 220px;
            margin: 10px auto 0;
            @include transition(0.2s);
            @include borderRadius(5px);
            &:hover, &:focus{
                background-color: rgba(0,0,0,0.5);
            }
        }
        .center {
            width: 100%;
        }
        img {
            max-width: 626px;
        }
    }
}
    
/* MOTORES */
.motores{
    .columns{
        margin-bottom: 20px;
    }
    .circle{
        padding: 25px;
    }
    .rp-sprite{
        height: 70px;
        width: 70px;
        &.moto1{background-position: -5px -125px;}
        &.moto2{background-position: -85px -125px;}
        &.moto3{background-position: -165px -125px;}
    }
}
    
/* ESTADÍSTICAS */
.estadisticas{
    padding: 0;
    position: relative;
    
    .dark-bg{
        display: none;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 50%;
        background-color: $rp-red-dark;
    }
    .half{
        position: relative;
        display: inline-block;
        width: 100%;
        vertical-align: middle;
        padding: 75px 45px;
        h3{
            font-size: 3.125em;
            color: #FFF;
            margin: 0;
        }
        h4{
            font-size: 1.25em;
            margin: 0;
            width: auto;
        }
        hr{
            width: 220px;
            margin: 25px auto;
        }
        &.dark{
            background-color: $rp-red-dark;
        }
        img{
            width: 100%;
            max-width: 400px;
        }
    }
}

/* ÍNDICE PROYECTOS */
.project-index{
    h4{
        color: $rp-black;
    }
    .sub-header{
        padding: 0 20px;
        margin-bottom: 60px;
    }
    .ratio-box{
        position: relative;
        margin-bottom: 20px;
        overflow: hidden;
        .ratio{
            width: 100%;
            padding-top: 66.666%;
        }
        .content{
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
        }
        h5{
            color: #FFF;
            font-weight: 700;
            text-shadow: 0px 0px 10px #000;
        }
        .sub-header{
            font-size: 0.8125em;
            color: #FFF;
            margin: 0;
            text-shadow: 0px 0px 10px #000;
        }
        .overimg{
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 1;
        }
        img{
            width: 100%;
            filter: url(filters.svg#grayscale); /* Firefox 3.5+ */
            filter: gray; /* IE6-9 */
            -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */
        }
        &:hover img{
            filter: none;
            -webkit-filter: grayscale(0);
        }
    }
    [class*='hexagon']{ 
        width: 100%;
        height: 100%;
        overflow: hidden;
    }
    .hexagon3{
        background-color: #ddd;
        -webkit-backface-visibility: hidden;
        
    }
    .columns{
        padding: 0 0.625rem;
    }
    &+ hr{
        border-color: #CCC;
        width: 200px;
        margin: 0 auto;
    }
}

/* CONTACTO NEWSLETTER DONAR */
.actions{
    p{
        font-size: 1rem;
        span{
            color: $rp-red;
            font-weight: 700;
        }
    }
    [class*='button']{
        display: block;
        width: 220px;
        background-color: $rp-red;
        color: #FFF;
        height: 40px;
        margin: 0 auto;
        line-height: 40px;
        @include borderRadius(5px);
        @include transition(0.2s);
        &:hover, &:focus{
            background-color: $rp-red-dark;
        }
    }
    .newsletter{
        position: relative;
        margin: 0 auto;
        width: 220px;
        input[type='email']{
            width: 100%;
            height: 40px;
            line-height: 18px;
            border: 1px solid #CCC;
            padding: 10px;
            padding-right: 40px;
            @include borderRadius(5px);
            @include placeholder($font-style: italic, $line-height: 18px);
            &:focus{
                outline: none;
            }
            &::-webkit-input-placeholder {
                padding-top: 2px;
            }
            &.error{
                margin-bottom: 5px;
            }
        }
        .submit{
            background-color:   transparent;
            border: none;
            position: absolute;
            right: 0;
            top: 0;
            display: block;
            width: 40px;
            padding: 0;
            line-height: 40px;
            &:hover, &:focus{
                color: $rp-red;
            }
        }
        label{
            font-size: 0.8125em;
            color: $rp-red;
            line-height: 1.4;
        }
    }
    .rp-sprite{
        width: 105px;
        height: 120px;
        margin-bottom: 10px;
        &.ctc{background-position: -288px -1px;}
        &.nlt{background-position: -409px -1px;}
        &.dnt{background-position: -529px -1px;}
    }
    .columns{
        margin-bottom: 40px;
    }
}

/* CUERPO PRINCIPAL DEL PROYECTO */
.project-body{
    text-align: left;

    h5{
        font-size: 1.125em;
        font-weight: 700;
        margin: 0 0 15px;
    }
    p{
        font-size: 0.875em;
        line-height: 1.8;
        margin: 0;
        padding: 15px 0;
        em{
            display: block;
            color: #999;
            margin-left: 25px;
            border-left: 2px solid $rp-red;
            padding: 10px 0 10px 15px;
            font-style: italic;
        }
    }
    aside{
        border: 2px dashed #CCC;
        padding: 30px 20px;
        margin-top: 50px;
        @include borderRadius(20px);

        .stat{
            position: relative;
            padding-left: 45px;
            margin-bottom: 30px;
            
            .rp-sprite{
                position: absolute;
                left: 0;
                float: left;
                width: 40px;
                height: 40px;
            }
            h4{
                text-align: left;
                width: auto;
                color: $rp-black;
                font-size: 0.875em;
                margin: 0 0 3px 0;
                padding: 0;
                line-height: 1;
            }
            p{  
                font-family: $rp-h-font;
                font-size: 1.125em;
                color: $rp-red;
                margin: 0;
                padding: 0;
                line-height: 1;
            }
            .icon1{background-position: 0px 0px;}
            .icon2{background-position: -120px 0px;}
            .icon3{background-position: -40px 0px;}
            .icon4{background-position: -80px -40px;}
            .icon5{background-position: -40px -40px;}
            .icon6{background-position: 0px -40px;}
            .icon7{background-position: -80px 0px;}
        }
        .project-sponsors{
            padding: 30px 0 15px;
            img{
                display: block;
                width: auto;
                height: 40px;
            }
        }
        .colabora{
            display: block;
            width: 100%;
            text-align: center;
            height: 40px;
            line-height: 40px;
            background-color: $rp-red;
            color: #FFF;
            font-size: 0.8125em;
            margin-bottom: 20px;
            @include borderRadius(5px);
            @include transition(0.2s);
            
            &:hover, &:focus{
                background-color: $rp-red-dark;
            }
        }
        #map-canvas{
            height: 250px;
        }
    }
    &+ hr{
        border-color: $rp-red;
        border-top-width: 2px;
        width: 150px;
        margin: 0 auto;
    }
    .yt-container{
        margin-top: 30px;
    }
}

/* QUIENES SOMOS */
.who{
    background-color: $rp-black;
    
    .court-imgs{
        position: relative;
        padding-top: 17%;
        margin: 95px 0 20px;
        
        img{
            position: absolute;;
            top: 0;
            left: 0;
            right: 0;
            @include transition(2s);
            &:not(.active){
                opacity: 0;
            }
        }
    }
}
.question{
    padding: 50px 0;
    h3{
        margin:  0 0 50px 0;
        color: $rp-red;
    }
    p{
        margin: 0;
        padding: 10px 0;
        font-size: 1em;
        text-align: left;
    }
    &:not(:first-child){
        border-top: 1px solid #CCC;
    }
    &.odd{
        background-color: #FAFAFA;
    }
}

/* DONA TU PELOTA */
.dona{
    h2{
        color: $rp-black;
        font-weight: 700;
    }
    h5{
        color: $rp-black;
    }
    p{
        font-size: 1em;
        font-style: italic;
        margin-bottom: 55px;
    }
    .dona-imgs{
        margin-top: 45px;
        margin-bottom: 45px;
        
        .img-container{
            height: 170px;
            line-height: 170px;
        }
        h4{
            margin: 20px auto 0;
            color: $rp-red;
        }
        .columns{
            padding-top: 25px;
            padding-bottom: 25px;
        }
    }
    .margin-b-50{
        margin-bottom: 50px;
    }
    #donate-now{
        display: block;;
        height: 50px;
        line-height: 50px;
        text-align: center;
        width: 200px;
        margin: 0 auto;
        font-size: 1.25em;
        padding: 0;
        border: none;
        background-color: $rp-red;
        color: #FFF;
        @include borderRadius(5px);
        margin-bottom: -50px;
    }
    form{
        display: none;
        margin-bottom: -50px;
        
        input{
            width: 100%;
            height: 40px;
            line-height: 18px;
            border: 1px solid #CCC;
            padding: 10px 10px 10px 40px;
            font-size: 0.875em;
            @include borderRadius(5px);
            @include placeholder($font-style: italic, $line-height: 18px);
            &:focus{
                outline: none;
            }
            &::-webkit-input-placeholder {
                padding-top: 1px;
            }
        }
        textarea{
            width: 100%;
            height: 80px;
            border: 1px solid #CCC;
            resize: none;
            padding: 8px 10px 8px 40px;
            line-height: 1.4;
            @include borderRadius(5px);
            @include placeholder($font-style: italic);
            &:focus{
                outline: none;
            }
        }
        label{
            display: block;
            height: 40px;
            font-size: 0.875em;
            font-style: italic;
            text-align: left;
            &.error{
                text-align: center;
                height: 40px;
                line-height: 40px;
                padding: 0;
                color: $rp-red;
            }
        }
        .columns{
            padding: 0 5px;
            margin-bottom: 10px;
        }
        button{
            width: 100%;
            height: 40px;
            line-height: 40px;
            border: none;
            color: #FFF;
            background-color: $rp-red;
            padding: 0;
            text-align: center;
            @include borderRadius(5px);
            @include transition(0.3s);

            &:hover, &:focus{
                background-color: $rp-red-dark;
                outline: none;
            }
        }
        .rp-sprite{
            position: absolute;
            height: 40px;
            width: 40px;
            top: 0;
            &.form1{background-position: 0px -80px;}
            &.form2{background-position: -40px -80px;}
            &.form3{background-position: -80px -80px;}
            &.form5{background-position: -200px -80px;}
        }
    }
}

/* CONTACTO */
.contact{
    h2{
        color: $rp-black;
        font-weight: 700;
    }
    h5{
        color: $rp-black;
    }
    form{
        margin-top: 70px;
        
        input{
            width: 100%;
            height: 40px;
            line-height: 18px;
            border: 1px solid #CCC;
            padding: 10px 10px 10px 40px;
            font-size: 0.875em;
            @include borderRadius(5px);
            @include placeholder($font-style: italic, $line-height: 18px);
            &:focus{
                outline: none;
            }
            &::-webkit-input-placeholder {
                padding-top: 1px;
            }
        }
        textarea{
            width: 100%;
            height: 80px;
            border: 1px solid #CCC;
            resize: none;
            padding: 8px 10px 8px 40px;
            line-height: 1.4;
            @include borderRadius(5px);
            @include placeholder($font-style: italic);
            &:focus{
                outline: none;
            }
        }
        label{
            display: block;
            height: 40px;
            font-size: 0.875em;
            font-style: italic;
            text-align: left;
            padding-left: 10px;
            
            input[type='radio']{
                display: none;
                &:checked + .my-radio{
                    background-color: $rp-red;
                }
            }
            span{
                line-height: 40px;
                vertical-align: middle;
            }
            .my-radio{
                display: inline-block;
                height: 20px;
                width: 20px;
                margin-right:10px;
                background-color: #EEE;
                border: 6px solid #EEE;
                @include borderRadius(50%);
                vertical-align: middle;
            }
            &.error{
                text-align: center;
                height: 40px;
                line-height: 40px;
                padding: 0;
                color: $rp-red;
            }
        }
        .columns{
            padding: 0 5px;
            margin-bottom: 10px;
        }
        button{
            width: 100%;
            height: 40px;
            line-height: 40px;
            border: none;
            color: #FFF;
            background-color: $rp-red;
            padding: 0;
            text-align: center;
            @include borderRadius(5px);
            @include transition(0.3s);

            &:hover, &:focus{
                background-color: $rp-red-dark;
                outline: none;
            }
        }
        .rp-sprite{
            position: absolute;
            height: 40px;
            width: 40px;
            top: 0;
            &.form1{background-position: 0px -80px;}
            &.form2{background-position: -40px -80px;}
            &.form3{background-position: -80px -80px;}
            &.form4{background-position: -120px -80px;}
            &.form5{background-position: -200px -80px;}
            &.form6{background-position: -160px -80px;}
        }
        #nuevo-potrero-dir{
            display: none;
        }
    }
}

[class*='hex-']{
    display: none;
    position: absolute;
    height: 240px;
    width: 206px;
    left: 50%;
    top: 50%;
    margin-left: -103px;
    margin-top: -120px;
    .top{
        height: 0px;
        width: 100%;
        border-bottom-width: 60px;
        border-style: solid;
        border-left-width: 103px;
        border-right-width: 103px;
        border-left-color: transparent;
        border-right-color: transparent;
        border-top: none;
   }
    .mid{
        height: 120px;
        width: 100%;
    }
    .bot{
        height: 0px;
        width: 100%;
        border-top-width: 60px;
        border-style: solid;
        border-left-width: 103px;
        border-right-width: 103px;
        border-left-color: transparent;
        border-right-color: transparent;
        border-bottom: none;
    }
    &.hex-valid{
        .top{
            border-bottom-color: $rp-green;
        }
        .mid{
            background-color: $rp-green;
        }
        .bot{
            border-top-color: $rp-green;
        }
    }
    &.hex-invalid{
        .top{
            border-bottom-color: $rp-red;
        }
        .mid{
            background-color: $rp-red;
        }
        .bot{
            border-top-color: $rp-red;
        }
    }
    .content{
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        color: #FFF;

        h5{
            margin: 0;
            font-weight: 700;
            font-style: italic;
            color: #FFF;
        }
        p{
            margin: 10px;
        }
        .fa{
            font-size: 1.5625em;
        }
    }
}